home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / DEMO_VGA / DEMOCGA.LZH / NUKE-LA.BAS < prev    next >
BASIC Source File  |  1980-01-01  |  12KB  |  326 lines

  1. 1 ' SWITCH TO COLOR ADAPTER
  2. 2 CLS:KEY OFF
  3. 3 DEF SEG = 0
  4. 4 POKE &H410, (PEEK(&H410) AND &HCF) OR &H10
  5. 5 SCREEN 1,0,0,0
  6. 6 SCREEN 0
  7. 7 WIDTH 40
  8. 8 LOCATE ,,1,6,7
  9. 9 KEY ON
  10. 100 REM-Nuclear attack simulator
  11. 110 REM-by A.S. KANTER
  12. 120 REM-Original program by J.R. DUKAT
  13. 130 REM-Information presented is as good as my sources allow
  14. 140 REM-any corrections or improvements are welcomed........
  15. 150 REM
  16. 160 REM-start it up
  17. 170 SCREEN 1:CLS:KEY OFF
  18. 180 LOCATE 6,10,0:PRINT "DO YOU LOVE LOS ANGELES?";
  19. 190 FOR T=1 TO 3000:NEXT T:CLS
  20. 200 GOTO 250
  21. 210 GOSUB 3020
  22. 220 GOSUB 2990
  23. 230 SCREEN 1
  24. 240 CLS
  25. 250 COLOR 1,0
  26. 260 KEY OFF
  27. 270 LINE (158,3)-(339,20),2,B
  28. 280 LINE (158,27)-(338,190),2,B
  29. 290 LOCATE 2,21:PRINT " MAP....LOS ANGELES";
  30. 300 SCALE=1
  31. 310 XT=-140:YT=120
  32. 320 IBMX=150+(XT*SCALE):IBMY=99-((YT)*SCALE)
  33. 330 FLG=0
  34. 340 READ X,Y
  35. 350 IF X=999 AND Y=999 THEN 330
  36. 360 IF X=888 AND Y=888 THEN 460
  37. 370 X=X+TX:Y=Y+TY
  38. 380 X0=TX:Y0=TY
  39. 390 X=IBMX+X:Y=IBMY-(Y)
  40. 400 PSET (X,Y),1
  41. 410 IF FLG=0 THEN 430
  42. 420 LINE (X,Y)-(LASTX,LASTY)
  43. 430 LASTX=X:LASTY=Y
  44. 440 FLG=1
  45. 450 GOTO 340
  46. 460 READ X,Y
  47. 470 IF X=999 AND Y=999 THEN 500
  48. 480 PAINT (X,Y),2,3
  49. 490 GOTO 460
  50. 500 GOSUB 3070 ;DRAW COMPASS ROSE
  51. 510 IF NXTBOMB=1 THEN 2380
  52. 520 LOCATE 5,21:PRINT "  This map covers ";
  53. 530 LOCATE 6,21:PRINT " an area of appx. ";
  54. 540 LOCATE 7,21:PRINT " 1700 sq/mi.  The ";
  55. 550 LOCATE 8,21:PRINT " long dimension is";
  56. 560 LOCATE 9,21:PRINT " about 50 miles - ";
  57. 570 LOCATE 10,21:PRINT " short dimension  ";
  58. 580 LOCATE 11,21:PRINT " about 34 miles.  ";
  59. 590 LOCATE 12,21:PRINT " Downtown La is   ";
  60. 600 LOCATE 13,21:PRINT " near the center  ";
  61. 610 LOCATE 14,21:PRINT " of the map.  Long";
  62. 620 LOCATE 15,21:PRINT " Beach can be seen";
  63. 630 LOCATE 16,21:PRINT " in the south. The";
  64. 640 LOCATE 17,21:PRINT " Pacific Ocean    ";
  65. 650 LOCATE 18,21:PRINT " lies all along   ";
  66. 660 LOCATE 19,21:PRINT " the West.  River-";
  67. 670 LOCATE 20,21:PRINT " side and San     ";
  68. 680 FOR T=1 TO 9000:NEXT T
  69. 690 GOSUB 3020  ;CLEAR BIG BOX
  70. 700 LOCATE 5,21:PRINT " Bernadino lie off";
  71. 710 LOCATE 6,21:PRINT " the map to the   ";
  72. 720 LOCATE 7,21:PRINT " east.  UCLA and  ";
  73. 730 LOCATE 8,21:PRINT " Westwood lie near";
  74. 740 LOCATE 9,21:PRINT " the coast, about ";
  75. 750 LOCATE 10,21:PRINT " midway up the map";
  76. 760 FOR T=1 TO 8000:NEXT T
  77. 770 GOSUB 3020
  78. 780 LOCATE 5,21:PRINT "  This program is ";
  79. 790 LOCATE 6,21:PRINT " to demonstrate   ";
  80. 800 LOCATE 7,21:PRINT " effects from var-";
  81. 810 LOCATE 8,21:PRINT " ious nuclear war-";
  82. 820 LOCATE 9,21:PRINT " heads which might";
  83. 830 LOCATE 10,21:PRINT " be used in attack";
  84. 840 LOCATE 11,21:PRINT " ing Los Angeles..";
  85. 850 LOCATE 12,21:PRINT " This attack will ";
  86. 860 LOCATE 13,21:PRINT " consist of just  ";
  87. 870 LOCATE 14,21:PRINT " nine 1 MT. bombs.";
  88. 880 LOCATE 15,21:PRINT " They will explode";
  89. 890 LOCATE 16,21:PRINT " at an altitude of";
  90. 900 LOCATE 17,21:PRINT " 8000 ft. This sim";
  91. 910 LOCATE 18,21:PRINT " ulation would be ";
  92. 920 LOCATE 19,21:PRINT " considered on the";
  93. 930 LOCATE 20,21:PRINT " conservative side";
  94. 940 LOCATE 21,21:PRINT " A maximum attack ";
  95. 950 LOCATE 22,21:PRINT " would use around ";
  96. 960 LOCATE 23,21:PRINT " 60 warheads......";
  97. 970 FOR T=1 TO 11000:NEXT T
  98. 980 GOSUB 3020
  99. 990 TMR=2000
  100. 1000 GOSUB 2990
  101. 1010 LOCATE 2,21:PRINT "   Select Targets  ";
  102. 1020 LINE (158,27)-(338,190),2,B
  103. 1030 LOCATE 5,21:PRINT "   Downtown  LA  ";
  104. 1040 SOUND 500,1:PSET (77,87),1
  105. 1050 FOR T=1 TO TMR:NEXT T
  106. 1060 LOCATE 6,21:PRINT "   Beverly Hills  ";
  107. 1070 SOUND 500,1:PSET (62,70),1
  108. 1080 FOR T=1 TO TMR:NEXT T
  109. 1090 LOCATE 7,21:PRINT "   LAX            ";
  110. 1100 SOUND 500,1:PSET (60,108),1
  111. 1110 FOR T=1 TO TMR:NEXT T
  112. 1120 LOCATE 8,21:PRINT "   Long Beach     ";
  113. 1130 SOUND 500,1:PSET (112,153),1
  114. 1140 FOR T=1 TO TMR:NEXT T
  115. 1150 LOCATE 9,21:PRINT "   Santa Monica   ";
  116. 1160 SOUND 500,1:PSET (50,90),1
  117. 1170 FOR T=1 TO TMR:NEXT T
  118. 1180 LOCATE 10,21:PRINT "   Burbank Air.   ";
  119. 1190 SOUND 500,1:PSET (72,20),1
  120. 1200 FOR T=1 TO TMR:NEXT T
  121. 1210 LOCATE 11,21:PRINT "   Torrance       ";
  122. 1220 SOUND 500,1:PSET (84,140),1
  123. 1230 FOR T=1 TO TMR:NEXT T
  124. 1240 LOCATE 12,21:PRINT "   Downey         ";
  125. 1250 SOUND 500,1:PSET (122,109),1
  126. 1260 FOR T=1 TO TMR:NEXT T
  127. 1270 LOCATE 13,21:PRINT "   Northridge     ";
  128. 1280 SOUND 500,1:PSET (35,10),1
  129. 1290 FOR T=1 TO TMR:NEXT T
  130. 1300 FOR I=5 TO 13
  131. 1310 LOCATE I,22:PRINT CHR$(26);
  132. 1320 SOUND 1000,1:FOR T=1 TO 50:NEXT T
  133. 1330 NEXT I
  134. 1340 LOCATE 2,21:PRINT " Targets Confirmed ";
  135. 1350 FOR T=1 TO 4000:NEXT T
  136. 1360 GOSUB 3020
  137. 1370 FOR S=1 TO 50:SOUND 9000,.5:SOUND 8000,.5:NEXT S
  138. 1380 LOCATE 2,21:PRINT "   Warhead Size    ";
  139. 1390 LOCATE 5,21:PRINT "   Each warhead is ";
  140. 1400 LOCATE 6,21:PRINT " one megaton - the ";
  141. 1410 LOCATE 7,21:PRINT " equivalent of one ";
  142. 1420 LOCATE 8,21:PRINT " million tons of   ";
  143. 1430 LOCATE 9,21:PRINT " TNT.              ";
  144. 1440 LOCATE 11,21:PRINT "  Warheads are set ";
  145. 1450 LOCATE 12,21:PRINT " to airburst at an ";
  146. 1460 LOCATE 13,21:PRINT " altitude of 8000  ";
  147. 1470 LOCATE 14,21:PRINT " feet.             ";
  148. 1480 FOR T=1 TO 5000:NEXT T
  149. 1490 GOSUB 3020:GOSUB 2990
  150. 1500 SOUND 8000,.5
  151. 1510 LOCATE 2,21:PRINT "   Targets Marked  ";
  152. 1520 PSET (77,87),Z
  153. 1530 PSET (62,70),Z
  154. 1540 PSET (60,108),Z
  155. 1550 PSET (112,153),Z
  156. 1560 PSET (50,90),Z
  157. 1570 PSET (72,20),Z
  158. 1580 PSET (84,140),Z
  159. 1590 PSET (122,109),Z
  160. 1600 PSET (35,10),Z
  161. 1610 C=C+1:IF C=150 THEN 1640
  162. 1620 IF Z=1 THEN Z=0 ELSE Z=1
  163. 1630 GOTO 1520
  164. 1640 LOCATE 2,21:PRINT " Time to detonate  ";
  165. 1650 FOR CD=10 TO 3 STEP -1
  166. 1660 LOCATE 6,23:PRINT USING "####";CD;
  167. 1670 LOCATE 6,28:PRINT "seconds";
  168. 1680 FOR T=1 TO 1000:NEXT T
  169. 1690 NEXT CD
  170. 1700 GOSUB 3020
  171. 1710 FOR S=1 TO 50:SOUND 4000,.5:SOUND 4500,.5:NEXT S
  172. 1720 LOCATE 2,21:PRINT " -- DETONATION --  ";
  173. 1730 S=1:I=5:R=0:GOSUB 2740
  174. 1740 LOCATE 5,21:PRINT "       ZONE 1      ";
  175. 1750 LOCATE 7,21:PRINT " Diameter 3 mi.    ";
  176. 1760 LOCATE 10,21:PRINT " Overpress. 25 psi ";
  177. 1770 LOCATE 11,21:PRINT " Wind Vel. 320 mph ";
  178. 1780 LOCATE 13,21:PRINT "   All structures  ";
  179. 1790 LOCATE 14,21:PRINT " above ground are  ";
  180. 1800 LOCATE 15,21:PRINT " destroyed.        ";
  181. 1810 LOCATE 17,21:PRINT " 98 % fatalities   ";
  182. 1820 LOCATE 19,21:PRINT " STBY FOR ZONE 2   ";
  183. 1830 FOR T=1 TO 5500:NEXT T
  184. 1840 GOSUB 3020
  185. 1850 S=6:I=10:R=3:GOSUB 2740
  186. 1860 LOCATE 5,21:PRINT "       ZONE 2      ";
  187. 1870 LOCATE 7,21:PRINT " Diameter 6 miles  ";
  188. 1880 LOCATE 10,21:PRINT " Overpress. 9 psi  ";
  189. 1890 LOCATE 11,21:PRINT " Wind Vel. 260 mph ";
  190. 1900 LOCATE 13,21:PRINT "  Factories/office ";
  191. 1910 LOCATE 14,21:PRINT " buildings collapse";
  192. 1920 LOCATE 15,21:PRINT " Severe damage to  ";
  193. 1930 LOCATE 16,21:PRINT " highway bridges.  ";
  194. 1940 LOCATE 17,21:PRINT " 50% dead 40% inj. ";
  195. 1950 LOCATE 19,21:PRINT " STBY FOR ZONE 3   ";
  196. 1960 FOR T=1 TO 5500:NEXT T
  197. 1970 GOSUB 3020
  198. 1980 I=19:R=1:GOSUB 2640 ;DRAW CIRCLES
  199. 1990 LOCATE 5,21:PRINT "       ZONE 3      ";
  200. 2000 LOCATE 7,21:PRINT " Diameter 10 mi.   ";
  201. 2010 LOCATE 10,21:PRINT " Overpress. 3 psi  ";
  202. 2020 LOCATE 11,21:PRINT " Wind Vel. 98 mph  ";
  203. 2030 LOCATE 13,21:PRINT "  Wood frame resid-";
  204. 2040 LOCATE 14,21:PRINT " ences severely    ";
  205. 2050 LOCATE 15,21:PRINT " damaged. People   ";
  206. 2060 LOCATE 16,21:PRINT " are blown around. ";
  207. 2070 LOCATE 17,21:PRINT " 2nd degree burns. ";
  208. 2080 LOCATE 18,21:PRINT " 10% dead 45% inj. ";
  209. 2090 LOCATE 20,21:PRINT " STBY FOR MORE..   ";
  210. 2100 FOR T=1 TO 5500:NEXT T
  211. 2110 GOSUB 3020
  212. 2120 LOCATE 5,21:PRINT " LONG RANGE EFFECT ";
  213. 2130 LOCATE 7,21:PRINT " Light door/plaster";
  214. 2140 LOCATE 8,21:PRINT " damage to 14.5 mi.";
  215. 2150 LOCATE 9,21:PRINT " Windows broken out";
  216. 2160 LOCATE 10,21:PRINT " to 30 miles.      ";
  217. 2170 LOCATE 12,21:PRINT " Flashblindness to ";
  218. 2180 LOCATE 13,21:PRINT " 13 miles daytime. ";
  219. 2190 LOCATE 14,21:PRINT " and to 50 miles at";
  220. 2200 LOCATE 15,21:PRINT " night clear sky.  ";
  221. 2210 FOR T=1 TO 5500:NEXT T
  222. 2220 GOSUB 3020:GOSUB 2990
  223. 2230 LOCATE 2,21:PRINT " WANNA SEE WORSE ? ";
  224. 2240 LOCATE 5,21:PRINT " If you wait just a";
  225. 2250 LOCATE 6,21:PRINT " second i'll redraw";
  226. 2260 LOCATE 7,21:PRINT " the map and drop  ";
  227. 2270 LOCATE 8,21:PRINT " just one 20 MT.war";
  228. 2280 LOCATE 9,21:PRINT " head centered on  ";
  229. 2290 LOCATE 10,21:PRINT " Downtown LA.      ";
  230. 2300 LOCATE 11,21:PRINT " I will mark zones ";
  231. 2310 LOCATE 12,21:PRINT " as before...      ";
  232. 2320 LOCATE 13,21:PRINT " Burst altitude for";
  233. 2330 LOCATE 14,21:PRINT " this device will  ";
  234. 2340 LOCATE 15,21:PRINT " be 17500 feet...  ";
  235. 2350 NXTBOMB=1
  236. 2360 FOR T=1 TO 9000:NEXT T
  237. 2370 RESTORE:GOTO 210
  238. 2380 SOUND 2000,1
  239. 2390 LOCATE 2,21:PRINT " Target Los Angeles";
  240. 2400 LOCATE 5,21:PRINT "  20 MT. WARHEAD   ";
  241. 2410 PSET (77,87),0
  242. 2420 FOR T=1 TO 3000:NEXT T
  243. 2430 SOUND 5000,1:LOCATE 2,21:PRINT " -- DETONATION --  ";
  244. 2440 S=1:I=16:R=0:GOSUB 2880:S=17:I=23:R=1:GOSUB 2880
  245. 2450 CIRCLE (77,87),40,1
  246. 2460 FOR T=1 TO 3000:NEXT T
  247. 2470 GOSUB 3020
  248. 2480 LOCATE 6,21:PRINT " -FOR COMPARISON-  ";
  249. 2490 LOCATE 8,21:PRINT " I'll drop a 12.5  ";
  250. 2500 LOCATE 9,21:PRINT " kiloton bomb on   ";
  251. 2510 LOCATE 10,21:PRINT " Long Beach.       ";
  252. 2520 LOCATE 11,21:PRINT " (Hiroshima size)..";
  253. 2530 S=1:I=2:R=0:GOSUB 2950:S=3:I=4:R=3:GOSUB 2950
  254. 2540 FOR T=1 TO 10000:NEXT T:CLS:SCREEN 0:WIDTH 80
  255. 2550 LOCATE 10,15,0
  256. 2560 PRINT " Projection for U.S. & SOVIET warhead numbers for 1985"
  257. 2570 LOCATE 11,15,0
  258. 2580 PRINT " is a grand total of roughly 40000 of various sizes..."
  259. 2590 LOCATE 12,15,0
  260. 2600 PRINT " This total does not include other nuclear powers ..."
  261. 2610 LOCATE 17,19,0
  262. 2620 PRINT "             BYE/BYE  &  GOOD LUCK"
  263. 2630 FOR T=1 TO 9000:NEXT T:LOCATE 1,1,1:END
  264. 2640 CIRCLE (77,87),I,R
  265. 2650 CIRCLE (62,70),I,R
  266. 2660 CIRCLE (60,108),I,R
  267. 2670 CIRCLE (112,153),I,R
  268. 2680 CIRCLE (50,90),I,R
  269. 2690 CIRCLE (72,20),I,R
  270. 2700 CIRCLE (84,140),I,R
  271. 2710 CIRCLE (122,109),I,R
  272. 2720 CIRCLE (35,10),I,R
  273. 2730 RETURN
  274. 2740 FOR GZ=S TO I
  275. 2750 CIRCLE (77,87),GZ,R
  276. 2760 CIRCLE (62,70),GZ,R
  277. 2770 CIRCLE (60,108),GZ,R
  278. 2780 CIRCLE (112,153),GZ,R
  279. 2790 CIRCLE (50,90),GZ,R
  280. 2800 CIRCLE (72,20),GZ,R
  281. 2810 CIRCLE (84,140),GZ,R
  282. 2820 CIRCLE (122,109),GZ,R
  283. 2830 CIRCLE (35,10),GZ,R
  284. 2840 FOR T=1 TO 300:NEXT T
  285. 2850 NEXT GZ
  286. 2860 REM-SINGLE WARHEAD ON LA
  287. 2870 RETURN
  288. 2880 FOR GZ=S TO I
  289. 2890 CIRCLE (77,87),GZ,R
  290. 2900 FOR T=1 TO 300:NEXT T
  291. 2910 NEXT GZ
  292. 2920 FOR T=1 TO 300:NEXT T
  293. 2930 RETURN
  294. 2940 REM-sub to drop 12.5 kiloton bomb on long beach
  295. 2950 FOR GZ=S TO I
  296. 2960 CIRCLE (112,153),GZ,R
  297. 2970 FOR T=1 TO 300:NEXT T
  298. 2980 NEXT GZ
  299. 2990 REM- to clear small box
  300. 3000 LOCATE 2,21:PRINT "                  ";
  301. 3010 RETURN
  302. 3020 REM-sub to clear big box
  303. 3030 FOR I=5 TO 23
  304. 3040 LOCATE I,22:PRINT "                  ";
  305. 3050 NEXT I
  306. 3060 RETURN
  307. 3070 REM-sub to draw compass rose
  308. 3080 FOR I=20 TO 50 STEP 2:PSET (30,I),1:NEXT I
  309. 3090 FOR I=20 TO 40 STEP 4:PSET (I,35),1:NEXT I
  310. 3100 PSET (30,20),1:LINE -(27,23),1:PSET (30,20),1:LINE -(33,23),1
  311. 3110 RETURN
  312. 3120 DATA 0,-105,5,-104,10,-103,15,-104,20,-105,25,-105,30,-107
  313. 3130 DATA 35,-110,38,-115,41,-120,44,-125,46,-133,49,-136,50,-140
  314. 3140 DATA 51,-143,54,-147,55,-152,58,-156,59,-158,60,-160,58,-163
  315. 3150 DATA 56,-164,55,-166,51,-169,50,-172,51,-176,53,-178,54,-182
  316. 3160 DATA 56,-184,59,-183,60,-181,63,-183,65,-183,68,-185,70,-187
  317. 3170 DATA 77,-191,79,-190,82,-189,81,-187,82,-185,81,-180,84,-175
  318. 3180 DATA 86,-175,89,-171,88,-173,92,-172,87,-175,85,-177,84,-180
  319. 3190 DATA 84,-184,89,-179,93,-176,97,-175,98,-175,99,-177,92,-180
  320. 3200 DATA 99,-183,101,-180,103,-177,104,-170,107,-169,110,-171
  321. 3210 DATA 117,-180,121,-186,128,-190,132,-207,135,-207,135,0,0,0
  322. 3220 DATA 0,-105,888,888
  323. 3230 DATA 10,10,135,165
  324. 3240 DATA 999,999
  325. 3250 STOP
  326.